package br.uniceub.fsw.academicmobile.vo;

import br.uniceub.fsw.academicmobile.dao.AlunoDAO;
import br.uniceub.fsw.academicmobile.dao.TurmaDAO;

/**
 * tabela tb_aluno_turma
 * @author Christian Moryah
 */
public class AlunoTurmaVO {

    /**
     * Coluna ID_aluno_turma
     */
    private Integer idAlunoTurma;
    
    /**
     * Coluna tb_aluno_ID_CD_ra
     */
    private Long tbAlunoIdCdRa;
    
    /**
     * Coluna tb_turma_ID_turma
     */
    private Integer tbTurmaIdTurma;
    
    /**
     * Objeto Aluno referenciado pela coluna tb_aluno_ID_CD_ra
     */
    private AlunoVO aluno;
    
    /**
     * Objeto Turma referenciado pela coluna tb_turma_ID_turma
     */
    private TurmaVO turma;

    /**
     * Metodo que traz o objeto aluno referenciado pela tabela do banco,
     * ha a necessidade desse objeto possuir o id do aluno.
     * @return AlunoVO aluno referenciado pelo objeto.
     */   
    public AlunoVO getAluno() {
        if(aluno==null){
            aluno = new AlunoVO();
            aluno.setIdCdRa(tbAlunoIdCdRa);
            aluno = new AlunoDAO().consultarAlunoPorId(aluno);
        }
        return aluno;
    }

    public void setAluno(AlunoVO aluno) {
        this.aluno = aluno;
    }

    public Integer getIdAlunoTurma() {
        return idAlunoTurma;
    }

    public void setIdAlunoTurma(Integer idAlunoTurma) {
        this.idAlunoTurma = idAlunoTurma;
    }

    public Long getTbAlunoIdCdRa() {
        return tbAlunoIdCdRa;
    }

    public void setTbAlunoIdCdRa(Long tbAlunoIdCdRa) {
        this.tbAlunoIdCdRa = tbAlunoIdCdRa;
    }

    public Integer getTbTurmaIdTurma() {
        return tbTurmaIdTurma;
    }

    public void setTbTurmaIdTurma(Integer tbTurmaIdTurma) {
        this.tbTurmaIdTurma = tbTurmaIdTurma;
    }

    /**
     * Metodo que traz o turma aluno referenciado pela tabela do banco,
     * ha a necessidade desse objeto possuir o id da turma.
     * @return TurmaVO turma referenciada pelo objeto.
     */   
    public TurmaVO getTurma() {
        if(turma==null){
            turma = new TurmaVO();
            turma.setIdTurma(tbTurmaIdTurma);
            turma = new TurmaDAO().consultarTurmaPorId(turma);
        }
        return turma;
    }

    public void setTurma(TurmaVO turma) {
        this.turma = turma;
    }
    
    
    
}
